1. Field of the Invention
This invention relates to receiving digital instructions and more particularly relates to receiving digital instructions at multiple devices each sharing a common identity.
2. Description of the Related Art
Digital systems such as data processing systems, control systems, and communication systems frequently employ controllers to manage local functions. For example, an automotive control system may use a controller to manage carburetor functions or a blade center may use a controller to manage each blade in the blade center.
The digital system may include a service module. The service module is configured to communicate with one or more controllers. For example, a service module in a blade center may direct a controller in a blade to perform a maintenance function such rebooting the blade by issuing a command over a communication medium such as a digital bus. The controller may perform a function by executing digital instructions. The digital instructions may be configured as firmware and comprise one or more software processes.
The service module may transmit the digital instructions to the controller each time the controller starts operation, such as during a power-up, reboot, or similar procedures wherein the controller begins operation from an initial state. For example, the service module may communicate an instance of digital instructions over the communications medium. The controller receives the digital instruction instance from the service module, stores the digital instruction instance in a volatile memory, and executes instructions from the digital instruction instance.
Alternatively, the controller may store an instance of the digital instructions in a non-volatile memory and use the stored digital instruction instance each time the controller starts operation. The service module may periodically communicate an updated digital instruction instance to the controller, wherein the controller stores the updated digital instruction instance in the non-volatile memory.
A digital system may employ multiple redundant controllers for one or more controller functions to eliminate single point failures relating to the controller functions. For example, a blade may include a first and a second controller. Both the first and second controllers are configured to perform substantially equivalent functions, but only the first controller may perform the functions. If the first controller fails, then the second controller may perform the functions.
Unfortunately, in order for the first and second controller to perform redundant functions, the first and second controllers may share an identity for communications with the service module over the communications medium. For example, the first and second controllers may share a common address. In addition, the service controller may be unable to distinguish between the first and second controllers. As a result, the service module is unable to transmit a digital instruction instance to the first controller, receive confirmation that the first controller received the digital instruction instance, and then communicate the digital instruction instance to the second controller and receive confirmation that the second controller received the digital instruction instance.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method that transmit digital instructions to devices or controllers that share a common identity. Beneficially, such an apparatus, system, and method would transmit digital instructions separately to a plurality of controllers and verify that each controller received the digital instructions.